-
Notifications
You must be signed in to change notification settings - Fork 355
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Split googleapis into per-language modules #3472
base: main
Are you sure you want to change the base?
Conversation
Hello @bazelbuild/bcr-maintainers, modules without existing maintainers (googleapis-cc, googleapis-go, googleapis-java, googleapis-python, googleapis) have been updated in this PR. Please review the changes. |
dfcb309
to
0d8947f
Compare
8f7654a
to
c54877c
Compare
Hello @bazelbuild/bcr-maintainers, modules without existing maintainers (googleapis-cc, googleapis-go, googleapis-grpc-cc, googleapis-grpc-java, googleapis-java, googleapis-python, googleapis) have been updated in this PR. Please review the changes. |
4d80faa
to
979ea95
Compare
Hello @bazelbuild/bcr-maintainers, modules without existing maintainers (googleapis-cc, googleapis-go, googleapis-grpc-java, googleapis-java, googleapis-python, googleapis) have been updated in this PR. Please review the changes. |
60cfbd8
to
6617794
Compare
@@ -0,0 +1,7 @@ | |||
{ | |||
"integrity": "sha256-hznHbmgfkAkjuQDJ3w73XPQh05yrtUZQxLmtGbanbYU=", | |||
"url": "https://github.com/fmeum/bazel-central-registry/releases/download/v1.0.0/empty.zip", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TODO: Replace with a better source after #3474.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Couldn't we just allow url to be not set when overlay is used?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could, but that would require raising the minimum Bazel version to at least 8.1.0 (the earliest we can ship this).
0d8efa5
to
de336d6
Compare
2ad8da5
to
432a13e
Compare
Another thing which just came to my mind: Uploading new versions will become much more work with this approach. This is especially relevant since we don't have active maintainers for this package and are even further away from release automation. So it will become less likely that people contribute version updates. |
We should avoid making updates more complicated, but I don't see why this would make it so. Instead of the patches, there are now a few overlay files, but that's the only change I see. The "flavor" modules only need new versions if the targets generated in googleapis change in a fundamental way. Do you see other downsides to this approach? I'm thinking of adding a tool to the repo that creates a new version of an existing module by symlinking over files that haven't changed and replacing the old version with the new version in module files, URLs and prefixes. That should make it very easy to update googleapis, regardless of which approach is used. What do you think about that? |
432a13e
to
d7bf807
Compare
d7bf807
to
0398bd8
Compare
I raised everything which was on my mind for now in #3437 and here.
It would be great if such tool would also handle patches (at least in cases where it applies with somewhat larger fuzzing for moved lines and skip already applied patches). It could create a temporary git repo for this for example ( |
Introduces new
googleapis-*
modules that contain the per-language module dependencies needed to support the individual rules used by the maingoogleapis
module. This allows BCR modules to declare dependencies on language-specific rules ingoogleapis
without requiring that module to depend on every possible language ruleset, which isn't sustainable.This results in a breaking change for root modules that previously used the
switched_rules
extensions. These modules now need to explicitly declare deps on thegoogleapis-*
flavors they need, but will be guided through the process by error messages.In the future, new flavors can be added in a backwards compatible way.
googleapis-grpc-cc
is blocked on #3470, which adds a release ofgrpc
including grpc/grpc@3f001f7.